package com.shop.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigInteger;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 附件 实体类。
 *
 * @author 彭新才
 * @since 2024-10-15
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "附件")
@Table(value = "shop_attachment")
public class ShopAttachment implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增id
     */
    @Id(keyType = KeyType.Auto)
    @Schema(description = "自增id")
    private BigInteger id;

    /**
     * 名称
     */
    @Schema(description = "名称")
    private String title;

    /**
     * 原始名称
     */
    @Schema(description = "原始名称")
    private String original;

    /**
     * 路径标记
     */
    @Schema(description = "路径标记")
    private String pathType;

    /**
     * 大小（单位b）
     */
    @Schema(description = "大小（单位b）")
    private BigInteger size;

    /**
     * 类型（后缀名）
     */
    @Schema(description = "类型（后缀名）")
    private String ext;

    /**
     * 类型（file文件, image图片, scrawl涂鸦, video视频, remote远程抓取文件）
     */
    @Schema(description = "类型（file文件, image图片, scrawl涂鸦, video视频, remote远程抓取文件）")
    private String type;

    /**
     * url路径
     */
    @Schema(description = "url路径")
    private String url;

    /**
     * hash值
     */
    @Schema(description = "hash值")
    private String hash;

    /**
     * 添加时间
     */
    @Schema(description = "添加时间")
    private Long addTime;

}
